// // 斐波那契数列
// const nums = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89];

// function fib (n) {
//     if (n < 3) {
//         return 1;
//     }
//     return fib(n - 1) + fib(n - 2);
// }

// // console.time('fib');
// // console.log(fib(43)); // 89
// // console.timeEnd('fib');

const data = [
    {
        id: 1,
        name: '冰箱',
        goods: [
            {
                id: 11,
                name: '西门子',

            },
            {
                id: 12,
                name: '海尔',
            },
        ],
    },
    {
        id: 2,
        name: '电视',
        goods: [
            {
                id: 21,
                name: '三星',
            },
            {
                id: 22,
                name: '索尼',
            },
        ],
    },
    {
        id: 3,
        name: '洗衣机',
    },
];

function findGoods (id, data) {
    for (const item of data) {
        // 找到了
        if (item.id === id) {
            return item;
        }
        // 当前项不是想要的  就去递归自己家的孩子们
        const goods = findGoods(id, item.goods || []);
        // 找到了就返回 没找到就进入下一轮循环
        if (goods) {
            return goods;
        }
    }
}

console.log(findGoods(22, data)); // { id: 22, name: '索尼' }
